package main

import "fmt"

func main() {
	nums := []int{2, 2, 3, 4}
	fmt.Println(exchange(nums))
}

//
//  exchange
//  @Description: 输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有奇数在数组的前半部分，所有偶数在数组的后半部分。
//  @param nums 待处理的int数组
//  @return []int 处理完后的int数组
//
func exchange(nums []int) []int {
	if len(nums) == 0 {
		return nil
	}
	//var ans []int
	target := -1 // 记录数组中第一个不为偶数的下标
	for i := 0; i < len(nums); i++ {
		if nums[i]%2 != 0 && target != i {
			target++
			nums[target], nums[i] = nums[i], nums[target]
		}
	}
	return nums
}
